package com.cqemme.hardwareservice.feign.fallback;

import com.cqemme.comm.po.Result;
import com.cqemme.hardwareservice.feign.SchoolServiceFeign;

import feign.hystrix.FallbackFactory;
import org.springframework.stereotype.Component;

/**
 * 学校服务接口熔断实现
 *
 * @author daibin
 */
@Component
public class SchoolServiceFallbackFactory implements FallbackFactory<SchoolServiceFeign> {


    /**
     * Returns an instance of the fallback appropriate for the given cause
     *
     */
    @Override
    public SchoolServiceFeign create(Throwable cause) {
        return new SchoolServiceFeign() {

            /**
             * 传入设备号 查询学生信息
             *
             * @param imeiNo 设备id
             */
            @Override
            public Result findByImeiNo(Long imeiNo) {
                return null;
            }

            /**
             * 传入学生id 查学生所拥有的所有人物关系
             *
             * @param userId
             * @return
             */
            @Override
            public Result selectByStudentId(int userId) {
                return null;
            }

            /**
             * 根据租户id 和设备id找设备
             *
             * @param tenantId
             * @param deviceId
             * @return
             */
            @Override
            public Result queryByTenantIdAndDeviceId(Integer tenantId, Integer deviceId) {
                return null;
            }

            /**
             * 根据组织编码 获取异常时段配置
             *
             * @param siOrgCode
             * @param weekNum
             * @return
             */
            @Override
            public Result queryByOrgAndWeekNum(Integer siOrgCode, Integer weekNum) {
                return null;
            }

            /**
             * 根据组织编码 获取异常时段配置
             *
             * @param type
             * @return
             */
            @Override
            public Result queryAllByDevice(Integer type) {
                return null;
            }
        };
    }
}
